// LoginRequestHandler.h: interface for the LoginRequestHandler class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LOGINREQUESTHANDLER_H__433D8538_FFB9_40B3_B95C_3F1D4D2F648A__INCLUDED_)
#define AFX_LOGINREQUESTHANDLER_H__433D8538_FFB9_40B3_B95C_3F1D4D2F648A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BaseRequestHandler.h"
#include "CommonLib\structure.h"

class LoginRequestHandler : public BaseRequestHandler
{
public:
	LoginRequestHandler(const Packet& packet, HANDLE hClient, bool bIsRequestEx);
	LoginRequestHandler(const Packet& packet, HANDLE hClient);
	virtual ~LoginRequestHandler();

	virtual bool Prehandling();// old is bool
	virtual bool PrehandlingEx();

	virtual bool IsFurtherHandlingNeeded() {return false;}
	bool bPrehandlingOk;//new 2005-8-9

protected:
	bool Login(LoginStruct& loginstruct);
	void SetCoalMinesSet(LoginStruct& loginstruct);
};

#endif // !defined(AFX_LOGINREQUESTHANDLER_H__433D8538_FFB9_40B3_B95C_3F1D4D2F648A__INCLUDED_)
